﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Xml.Linq;
using SD.Common.Logging;
using System.Data.SqlClient;
using System.Web.Configuration;

namespace SD.UI
{
    public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {

        }

        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {
            SDLogging logger = new SDLogging();
            Exception ex = HttpContext.Current.Server.GetLastError();

            logger.LogError(GetErrorMessage(ex));
            Context.ClearError();

            Response.Redirect("CommomError.aspx",true);
        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }

        private String GetErrorMessage(Exception ex)
        {
            String strErrorMsg = "";

            if (ex.InnerException != null)
            {
                strErrorMsg = GetErrorMessage(ex.InnerException);
            }
            else
            {
                strErrorMsg = ex.Message;
            }

            return strErrorMsg;
        }
    }
}